package com.ap.core.dao;

import com.ap.core.common.types.MessageStatus;
import com.ap.core.domain.OrderPayment;
import com.ap.core.domain.PaymentConfirmationUpdateObj;

import javax.persistence.EntityManager;

import org.joda.time.LocalDateTime;

/**
 * User: Ranjit.Singh
 */
public interface OrderPaymentDao extends GenericDao<OrderPayment, String> {

    EntityManager getEntityManager();

    OrderPayment getReadOnlyOrderPaymentByApTranId(String apTranId);

    void updateOrderPayment(String id, MessageStatus messageStatus, Long zappConsumerId, Long fiId, Long apMessageId, String fiCustomerId, LocalDateTime confirmationExpiryTime);
    
    void updateOrderPayment(String id, MessageStatus messageStatus, LocalDateTime confirmationExpiryTime);
    
    void updateOrderPaymentOnConfirmation(String id, MessageStatus messageStatus, PaymentConfirmationUpdateObj obj);
			
}
